package com.entity.view;

import com.entity.GongyipinxinxiEntity;

import com.baomidou.mybatisplus.annotations.TableName;
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;

import java.io.Serializable;

/**
 * 工艺品信息
 * 后端返回视图实体辅助类
 * （通常后端关联的表或者自定义的字段需要返回使用）
 * 该类用于从后端返回工艺品信息的数据视图，扩展了实体类的功能，支持属性复制等。
 *
 * author: team10
 * email:
 *
 */
@TableName("gongyipinxinxi")
public class GongyipinxinxiView extends GongyipinxinxiEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	// 无参构造函数
	public GongyipinxinxiView() {
	}

	/**
	 * 构造函数，使用给定的实体对象进行属性复制
	 * @param gongyipinxinxiEntity 传入的工艺品信息实体
	 */
	public GongyipinxinxiView(GongyipinxinxiEntity gongyipinxinxiEntity) {
		try {
			// 使用 BeanUtils.copyProperties() 方法复制实体的属性到视图对象
			BeanUtils.copyProperties(this, gongyipinxinxiEntity);
		} catch (IllegalAccessException | InvocationTargetException e) {
			// 捕获反射相关异常并打印错误信息
			e.printStackTrace();
		}
	}
}
